
// 通过promise技术，解决异步回调的地狱；
// 成功时，通过resolve返回结果；失败时，通过reject返回失败信息

// ==计数器，目的是防止同时来多个请求时，关闭时间不一样 wx.hideLoading重复执行
let ajaxTimes=0;

export const request=(params)=>{
    // ==调用时，计数
    ajaxTimes++;
    
    // == 实现加载中效果
    wx.showLoading({
        title: "加载中",
        mask: true
    });

    const baseUrl='https://api-hmugo-web.itheima.net/api/public/v1'
    return new Promise((resolve,reject)=>{
        wx.request({
            ...params,
            url:baseUrl+params.url,
            success: (result) => {
                resolve(result.data.message);
            },
            fail: (err) => {
                reject(err);
            },
            complete: () => {
                // == 完成时计数器减少
                ajaxTimes--;
                if(ajaxTimes===0){
                    wx.hideLoading();

                }
            }

            
        });


    })


}